Recent developments in telecommunications and intelligent networks, primarily involving the field of photonics, are resulting in a rapid expansion of bandwidths available for communication. The available bandwidth is currently growing at a rate involving, roughly, a factor of two every two years, and it is anticipated that communication bandwidths may increase by at least three orders of magnitude over the next ten years.
In order to match this rapid bandwidth growth in the level of telecommunications, equivalent computing power is required. It is therefore desirable to design a computer based system architecture that is massively scalable. The scalability is essentially driven by the number of independent users, as in mobile phone devices, rather than the complexity or size of an individual application.
Hitherto, there has been no known solution to the problem of designing a massively scalable architecture for the intelligent network (IN) domain.
The Internet is a large computer system, but it is a hierarchical system and hence does not address the issue of massive scalability.
Other computer system architectures that are known are only scalable in many orders of magnitude less than what will be required in the near future in telecommunications and intelligent networks.
For example, the computer system of FIG. 1 is based on an Erlang/Open Telecom Platform (OTP) running on a single node. The computer system 10 includes hardware 12, an operating system 14, a display 16 and a keyboard 18 and a suite of programs 20 which include application programs 22 (eg. in programming languages, Erlang and C), sourced programs 24, run-time programs 26, a library 28, and a database 30. The system may be linked to an external database 32 if required.
The single node provides reasonable system development facilities, including an Erlang real time environment, or interpretive environment. However, this is achieved at the expense of potential performance owing to the interpreter/operating system layers.
The single node computer system of FIG. 1 may be linked to other similar nodes by an asynchronous transfer node (ATM) switch, such as the AXD-301 switch with satisfactory performance. However, this switch has a scalability of 1:30, which is orders of magnitude less than that which is required for ultra high communication bandwidths.
Referring to FIG. 2, there is shown a split node computer system in which an OTP node 34 is split into two closely couple nodes: a COTS (commodity of the shelf) system 40 and a multi-processor (MP) Erlang Engine 50. The COTS system is essentially the base system and may comprise of a UNIX operating platform 41, application programs (eg. in C, C++, Java and Erlang) 42, a disc drive 43, graphics 44, an Internet modem 45, an Internet interface (TCP/IP) 46 and an input/output interface (I/O) 47 for communicating with the Erlang Engine 50.
The Erlang Engine 50 is a shared memory MP system running software 52 and 54 in Erlang on top of an optimized message passing kernel (56) such as QNX. The Erlang Engine 50 also has an I/O interface 58 for communicating with the COTS system 40. One processor of the MP set can be devoted to monitoring software, the remainder to functional processing.
The split node OTP system 34 of FIG. 2 may form part of a network that includes a plurality of regional processors (RP) 61 and support processors (SP) 62 for operators. The regional and support processors 61, 62 are connected to central processors CP A 63 and CP B 64 and to each other by a high speed RP bus 65. The MP Erlang Engine 50 includes a high speed interface 59 for communicating with the central processors CP A 63 and CP B 64.
The split node OTP system 34 can be linked to other computer systems by a switch 70 such as an AXE-10. For this purpose an AXE programming system (APS) 72 may be provided. In a telecommunications application, the interface shown to the AXE-10 may be implemented as a high speed Ethernet, primarily due to the availability of the Ethernet PLEX (Programming Language for Exchanges) blocks existing on AXE-10. The Erlang to PLEX interface has been demonstrated in two modes, firstly with the AXE-10 controlling the links, as in a call forwarding application. The second mode is with OTP in control, with an application such as remote changes to AXE-10 tariff tables.
The scalability limit of the Erlang Engine is a maximum of eight processors, given that it is a shared memory environment. The eight processors, together with a demonstrated 5× speed up from the move to compiled code, plus 2× moving from Unix to QNX gives a scale-up of 80 from the base system.
Therefore it is apparent that both of these known systems have limitations in terms of their scalability and could not be considered massively scalable.
It is therefore desirable to provide a massively scalable computer system including a large number of processors in which each processor can communicate effectively with other processors without regard to their locations.